package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 直播间
 */
@ApiModel(value = "com-lanchetech-entity-Room")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Room implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 房间名字
     */
    @ApiModelProperty(value = "房间名字")
    private String name;

    /**
     * 背景图，建议像素1080*1920，大小不超过2M
     */
    @ApiModelProperty(value = "背景图，建议像素1080*1920，大小不超过2M")
    private String coverImg;

    /**
     * 直播间分享图，图片规则：建议像素800*640，大小不超过1M；
     */
    @ApiModelProperty(value = "直播间分享图，图片规则：建议像素800*640，大小不超过1M；")
    private String shareImg;

    /**
     * 购物直播频道封面图，图片规则：建议像素800*800，大小不超过100KB；
     */
    @ApiModelProperty(value = "购物直播频道封面图，图片规则：建议像素800*800，大小不超过100KB；")
    private String feedsImg;

    /**
     * 直播计划开始时间（开播时间需要在当前时间的10分钟后 并且 开始时间不能在 6 个月后）
     */
    @ApiModelProperty(value = "直播计划开始时间（开播时间需要在当前时间的10分钟后 并且 开始时间不能在 6 个月后）")
    private Date startTime;

    /**
     * 直播计划结束时间（开播时间和结束时间间隔不得短于30分钟，不得超过24小时）
     */
    @ApiModelProperty(value = "直播计划结束时间（开播时间和结束时间间隔不得短于30分钟，不得超过24小时）")
    private Date endTime;

    /**
     * 主播昵称，最短2个汉字，最长15个汉字，1个汉字相当于2个字符
     */
    @ApiModelProperty(value = "主播昵称，最短2个汉字，最长15个汉字，1个汉字相当于2个字符")
    private String anchorName;

    /**
     * 主播用户id
     */
    @ApiModelProperty(value = "主播用户id")
    private Long anchorUserId;

    /**
     * 点赞数
     */
    @ApiModelProperty(value = "点赞数")
    private Integer goods;

    /**
     * 观看数
     */
    @ApiModelProperty(value = "观看数")
    private Integer views;

    /**
     * 直播链接
     */
    @ApiModelProperty(value = "直播链接")
    private String liveUrl;

    /**
     * 回放链接
     */
    @ApiModelProperty(value = "回放链接")
    private String replayUrl;

    /**
     * 是否关闭评论 【0：关闭，1：开启】（若关闭，观众端将隐藏评论入口，直播开始后不允许开启）
     */
    @ApiModelProperty(value = "是否关闭评论 【0：关闭，1：开启】（若关闭，观众端将隐藏评论入口，直播开始后不允许开启）")
    private Byte closeComment;

    /**
     * 类型 0 默认
     */
    @ApiModelProperty(value = "类型 0 默认")
    private Byte type;

    /**
     * 直播间状态 0 已关闭 1 已开启 3 已封禁
     */
    @ApiModelProperty(value = "直播间状态 0 已关闭 1 已开启 3 已封禁")
    private Byte status;

    /**
     * 拓展属性
     */
    @ApiModelProperty(value = "拓展属性")
    private String feature;

    /**
     * 删除 0 未删除 1 已删除
     */
    @ApiModelProperty(value = "删除 0 未删除 1 已删除")
    private Byte deleted;

    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    private Long tenantId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 助理用户id，默认是自己，可以是他人
     */
    @ApiModelProperty(value = "助理用户id，默认是自己，可以是他人")
    private Long assistantUserId;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sorts;

    /**
     * 官方 0非官方 1官方
     */
    @ApiModelProperty(value = "官方 0非官方 1官方")
    private Byte official;

    /**
     * 省份行政区划代码
     */
    @ApiModelProperty(value = "省份行政区划代码")
    private Long province;

    /**
     * 城市行政区划代码
     */
    @ApiModelProperty(value = "城市行政区划代码")
    private Long city;

    /**
     * 县(区)行政区划代码
     */
    @ApiModelProperty(value = "县(区)行政区划代码")
    private Long area;

    private static final long serialVersionUID = 1L;
}